@火凤凰
4年前 提问
1个回答

Cisco 交换机上怎么抓包

Andrew
4年前

Cisco nexus 抓包使用ethanalyze命令。在用户视图下执行。

注:该命令只能捕获去交换机自身和自身发出去的流量。

不能捕获:捕获在硬件中转发的数据平面流量。不支持特定于接口的捕获

如果需要抓取CPU的流量,需要将端口流量镜像到CPU,然后使用ethanalyze抓取。

在抓端口镜像(转发层面的)包时,设备不能配置sflow。

ERROR: SFLOW is configured. Please delete all SFLOW data sources before configuring SPANs

https://www.cisco.com/c/en/us/support/docs/switches/nexus-9000-series-switches/215329-nexus-9000-cloud-scale-asic-nx-os-span-t.html?dtid=osscdc000283

https://www.cisco.com/c/en/us/support/docs/switches/nexus-7000-series-switches/116136-trouble-ethanalyzer-nexus7000-00.html

 ethanalyzer local  interface inband ?
 <CR>          
 >            Redirect it to a file
 >>           Redirect it to a file in append mode
 autostop        Capture autostop condition
 capture-filter     Filter on ethanalyzer capture
 capture-ring-buffer   Capture ring buffer option
 decode-internal     Include internal system header decoding
 detail         Display detailed protocol information 
 display-filter     Display filter on frames captured
 limit-captured-frames  Maximum number of frames to be captured (default is 10)
 limit-frame-size    Capture only a subset of a frame
 mirror         Filter mirrored packets
 raw           Hex/Ascii dump the packet with possibly one line summary
 write          Filename to save capture to
 |            Pipe command output to filter
# 配置SPAN到CPU的监视器会话
N9K# **configure terminal** 
Enter configuration commands, one per line. End with CNTL/Z.
N9K-1(config)# **monitor session 1** N9K-1(config-monitor)# **source interface Ethernet1/10 rx**N9K-1(config-monitor)# **destination interface sup-eth0** N9K-1(config-monitor)# **no shut**
N9K-1(config-monitor)# **end**
# 确认SPAN到CPU监视器会话已启动
N9K# **show running-config monitor**  
N9K# **show monitor**
# 在控制平面中查看复制的数据包
# ethanalyze 可以用来复制到思科Nexus 9000设备的控制平面视图流量。Ethanalyzer命令中的**mirror**关键字可以过滤流量,以便仅显示SPAN到CPU监视器会话复制的流量。Ethanalyzer捕获和显示过滤器可用于进一步限制显示的流量。
9K# **ethanalyzer** **local** **interface inband mirror display-filter** **"icmp && ip.addr==192.168.10.10"** **limit-captured-frames 0** 
# 使用Control-C组合键可以退出Ethanalyzer控制平面数据包捕获实用程序。
# 通过在Ethanalyzer命令中包含**detail**关键字,可以查看有关此流量的详细信息。下面显示了单个ICMP Echo Request数据包的示例。
N9K# **ethanalyzer** **local** **interface inband mirror display-filter** **"icmp && ip.addr==192.168.10.10"** **limit-captured-frames 0 detail** 
# 以管理方式关闭SPAN到CPU监视器会话
 # 在SPAN到CPU监视器会话的上下文中使用**shutdown** configuration命令可以正常关闭SPAN到CPU监视器会话,并停止将流量复制到Cisco Nexus 9000设备的控制平面。
N9K# **configure terminal**
Enter configuration commands, one per line. End with CNTL/Z.
N9K-1(config)# **monitor session 1** N9K-1(config-monitor)# **shut**
N9K-1(config-monitor)# **end**
N9K#